Rorg_tut12
最佳淘汰算法(OPT):选择永不使用或在未来最长时间内不再被访问的页面予以替换。
在tag=4时出现miss的情况:
替换way2的理由:因为way 0,2,3的值在未来出现的次数相等,根据fifo,way 2最久没有被访问
TU CLOUD: bit.lz/ROrgTUT
cache-Typen:
32, 8192, 48, 8208, 32, 8224, 48, 8240, 32, 8256
Simulation: • Index, • Tag
Wie viele Bits hat der Blockoffset? (die Adresse innerhalb des Blocks)
Wie viele Bits hat der Index?
wie viele Bits hat der Tag?
Blockadresse = (Adresse / Cacheblockgröße)
Blockadresse = (Adresse >>(blockoffset Bits))
Index = Blockadresse % (2^(Index Bits))
Index = • Blockadresse & (größten Index)
größter Index = 2^(index bits) - 1 = 2^8 - 1 = FF16
Tag = Blockadresse / 2^(Index Bits)
Tag = Blockadresse >> (Index • Bits)
AMAT = Average Memory Access Time (durchschnittliche Zugriffszeit)
Es gibt jetzt verschiedene Fälle (verschiedene Fälle).
-> AMAT = gewichtete Mittelwert
-> Miss-Rate = Häufigkeit eines Cache-Misses (in Prozent)
1.Fall (L1-Cache):
Zeit = 3 Takte
globale Häufigkeit = 100% - 7% = 93%
100% der Fälle erreichen L1-Cache, davon 93% der Fälle ein Cache-Hit
1.Fall (L2-Cache):
Zeit = L1-Cache-Zeit + 15 Takte = 18 Takte
globale Häufigkeit = 7% (100% - 34%) = 7% 66% = 4.62%
7% der Fälle erreichen den L2-Cache, davon 66% der Fälle ein Cache-Hit
2.Fall (RAM):
Zeit = L2-Cache-Zeit + 100 Takte = 118 Takte
globale Häufigkeit = 7% * 34% = 100% - 93% - 4.62% = 2.38%
7% der Fälle erreichen L2-Cache und dort in 34% der Fälle gehen wir zum RAM weiter
AMAT = 93% 3 Takte + 4.62% 18 Takte + 2.38% * 118 Takte AMAT = 6.43 Takte